A machine readable data storage medium is used to store data related to a document, product, or other tangible object to which the data storage medium is embedded or attached. Examples of such storage media include radio frequency identification tags, magnetic stripes, and machine-readable graphical codes.
A graphical code is a graphical representation of information that consists of multiple code elements having different light reflective or light emissive properties. Examples of types of graphical codes include bar codes, data matrix codes, MaxiCodes, MICR text, optical character recognition text, and similarly formatted data.
Traditional data collection devices, for example data collection devices for reading graphical codes (including linear laser scanners, raster laser scanners, linear CCD imaging readers, and 2D array imaging readers) detect illumination reflected from a graphical code and generate a digital signal representative of the reflected illumination.
The digital signal is provided to an embedded decoder system (e.g. a processor which executes a decoder application from firmware) which generates a decoded value. The decoder system not only decodes the digital signal, but it also drives a serial interface circuit (such as a UART) for transmitting the decoded value to a compatible serial interface circuit of a remote computer running a software application that will use the decoded value (e.g. a data collection application).
Traditional data collection devices such as RFID tag readers detect a modulated RF signal carrier emitted from the tag and generate a digital signal representative of base band data. The digital signal is provided to an embedded decoder system. Again, the decoder system not only decodes the digital signal, but it also drives a serial interface circuit for transmitting the decoded value to a compatible serial interface circuit of a remote computer running a data collection application.
In all such data collection devices, it is possible to customize the decoder firmware such that it makes format changes in the decoded value before output to the serial interface circuit. Examples of format changes that are readily implemented in customized decoder firmware include: i) adding and/or deleting prefix characters to the decoded data; and ii) adding and/or deleting suffix characters to the decoded data.
It is common for a company that is replacing existing data collection devices with new data collection devices to require that the supplier of the new data collection devices write customized decoder firmware such that the data output by the new data collection devices has the same prefix and suffix characters as data output by the existing data collection devices. This solution is more desirable than modifying legacy systems to accept decoded data in a different format. It is also more desirable than writing, installing, and maintaining a middleware application to run in conjunction with the data collection application for the purpose of converting decoded data to a format compatible with the legacy data collection application.
However, there are several problems associated with customizing decoder firmware. First, source code to the decoder firmware is typically proprietary to the manufacturer of the reader. As such, the end user of a reader does not have access to the source code and, if the end user desires custom firmware, the end user will contract with the data collection device manufacturer to write the customizations. This process includes the time and cost inefficiencies that typically exist when one entity specifies a requirement and contracts with another entity to implement the specified requirement. This process also includes the time and cost inefficiencies of contracting with the reader manufacturer to manage version control and otherwise maintain the customized firmware.
U.S. patent application Ser. No. 10/774,245, to which this application is a continuation-in-part, discloses an integrated translation system for translating, formatting, and routing decoded data without requiring customized decoder firmware.
In general, the decoder firmware of the integrated translation system includes an interpreter module. The interpreter module receives decoded data and translates, manipulates, and routes the decoded data in accordance with a rule file loaded on the reader.
The rule file defines a plurality of data translation, manipulation, and routing commands to be performed on decoded data to generate formatted data. In the exemplary embodiment, the rule file is a script file and the data manipulation commands are defined utilizing text commands and arguments within a programming language recognized by the interpreter module.
A problem associated with the integrated translation system, unlike customized firmware, is that the vendor that creates the rule file has little control over its distribution after it is delivered to a customer.
For these reasons, what is needed is a system and method for enabling a data collection device to translate, format, and route decoded data in a specified format without requiring customized decoder firmware. More specifically, what is needed is a system and method for: i) enabling a data collection device to translate, format, and route decoded data in a format specified in a selected script file; and ii) for controlling distribution and use of such a script file.